/*
 * Logger.h
 *
 *  Created on: Apr 18, 2011
 *      Author: duilio
 */

#ifndef LOGGER_H_
#define LOGGER_H_

#include <cstdlib>
#include <iostream>
#include "fstream"
#include "Util.h"

using namespace std;

class LockFile;

class Logger {
public:
	//Devuelve la única instancia de Logger
	static Logger* Instance(bool _debug);
	//Libera la memoria utilizada
    static void DestroyInstance();
    //Escribe en el archivo de log si debug es true
	void writeToLogFile(string txt);
private:
	bool debug;
	Logger(bool debug);
	virtual ~Logger();
	static Logger* m_pInstance;
	LockFile* lock;
};

#endif /* LOGGER_H_ */
